/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.gr.jcash.iface;

import br.com.gr.jcash.dmp.Categoria;
import br.com.gr.jcash.dmp.Conta;
import br.com.gr.jcash.dmp.TipoCategoria;
import br.com.gr.jcash.exception.JCashException;
import br.com.gr.jcash.utils.Filtro;
import br.com.gr.jcash.utils.RelatorioHelper;
import java.util.List;

/**
 *
 * @author gelson
 */
public interface IContaBO extends IBO<Conta> {

    List<Conta> buscarContasOrigem() throws JCashException;

    List<Conta> buscarContasDestino() throws JCashException;

    List<Conta> buscarContaPorCategoria(Categoria categoria) throws JCashException;

    List<Conta> buscarContaPorTipoCategoria(TipoCategoria... tipo) throws JCashException;

    boolean existeContaPorCategoria(Categoria categoria) throws JCashException;
    
    RelatorioHelper buscarExtrato(Filtro filtro) throws JCashException;

}
